<?php
/**
 * <b>RUBIK IT Solution & Development ltd.</b>
 *
 * PROJECT		: Rubik Ultimate Framework
 * @version 	: 1.1
 * COPYRIGHT    : 2008
 * ------------------------------------------------------
 * 
 * Created on	:  Jun 15, 2008
 * 
 */

// no direct access
defined ( '_FW_EXEC' ) or die ( 'Restricted access' );

/*
 * a.	Khởi tạo các constant:
 * 		i.	SYS_CUR_APP_PATH: đường dẫn trỏ đến folder chứa application hiện tại.
 * 			VD: D:\www\site_using_framework\applications\news\
 * 		ii.	SYS_CUR_APP_URL: url trỏ đến folder chứa application hiện tại.
 * 			VD: http://yourdomain.com/site_using_framework/applications/news/
 */
define ( 'SYS_CUR_APP_PATH', SYS_APP_PATH . SystemSite::getApplicationName () . DS );
define ( 'SYS_CUR_APP_URL', SYS_ROOT_URL . "applications/" . SystemSite::getApplicationName () . "/" );

/*  
 * b.	Khởi tạo static class:
 * 		i.	SysApplication class chứa các thông tin và xử lý cho application hien tai.
 */
RCoreImporter::cls( "sysObjects.SysApplication" );

if (! SysApplication::isExistApplication ()) {
	$msg = SysLanguage::_ ( "The Application" );
	$msg .= ": \"" . SystemSite::getApplicationName () . "\"";
	$msg .= SysLanguage::_ ( " is not available" );
	RError::raiseWarning ( 100, SysApplication::getApplicationMainFile () );
	RError::raiseError ( 403, $msg );
}

// Init ajax
//RCoreImporter::file ( "sysProcess/ajaxInit.php" );
define ( '_FW_AJAX_SUPPORTED', 1 );

SysResponse::addJavascriptFile ( SYS_ROOT_URL . "libraries/js/jquery.min.js" );
SysResponse::addJavascriptFile ( SYS_ROOT_URL . "core/js/core.js.php" );

if (SYS_WORK_ZONE == 'back') {
	SysResponse::addJavascriptFile ( SYS_ROOT_URL . "core/js/backend.js" );
}

// Call Ext process after init System
//RExtImporter::sysProcessFile ( "beforeStartApp.php" );
SystemSite::triggerPlugins("beforeStartApp");

/**
 * 		With version 1.1 --> this will be move into the appliaction. 
 * 		After trigger before start application
 * 
 *  		iv.	SYS_CUR_TMPL_PATH: đường dẫn trỏ đến folder chứa template hiện tại.
 * 			Lưu ý sẽ check nếu path này có tồn tại hay không?
 * 			Nếu không thì SYS_CUR_TMPL_PATH sẽ là path tro den system tempalate.
 * 				VD: D:\www\site_using_framework\templates\sanhdieu_index\
 *  		v.	SYS_CUR_TMPL_URL: url trỏ đến folder chứa template hiện tại. 
 * 			Lưu ý sẽ check nếu path này có tồn tại hay không? 
 * 			Nếu không thì SYS_CUR_TMPL_URL sẽ là url tro den system tempalate.
 * 				VD: http://yourdomain.com/site_using_framework/templates/sanhdieu_index/
 */
if (SysRequest::isMobile () && SysTemplate::isExistMobileTpl ()) {
	define ( 'SYS_CUR_TMPL_PATH', SYS_TMPL_PATH . "mobile" . DS . SysTemplate::getTemplate () . DS );
	define ( 'SYS_CUR_TMPL_URL', SYS_TMPL_URL . "mobile/" . SysTemplate::getTemplate () . "/" );
} else {
	define ( 'SYS_CUR_TMPL_PATH', SYS_TMPL_PATH . SysTemplate::getTemplate () . DS );
	define ( 'SYS_CUR_TMPL_URL', SYS_TMPL_URL . SystemSite::getTemplate () . "/" );
}

// Load the langugage of current application
SysLanguage::loadAppLanguage ();

// Call the application
include SysApplication::getApplicationMainFile ();
?>